import request from "../../utils/request";
import util from "../../utils/util";

Page({
    data: {
        //账单分类配置
        categories: [
            {category: 'water', name: '水费'},
            {category: 'electric', name: '电费'},
            {category: 'parking', name: '车位费'},
            {category: 'property', name: '物业费'}
        ],
        currentCategory: 'water',//默认显示水费账单
        //模拟账单数据（包含时间和分类）
        bills: [
            {
                id: 1,
                category: 'water',//分类标识
                billDate: '2023年10月',//账单时间
                amount: 89,//金额（元）
                paid: true,//支付状态
                description: '上月家庭用水费用'
            },
            {
                id: 2,
                category: 'electric',
                billDate: '2023年10月',
                amount: 120,
                paid: false,
                description: '上月家庭用电费用'
            },
            {
                id: 3,
                category: 'parking',
                billDate: '2023年10月',
                amount: 300,
                paid: true,
                description: '本月车位租赁费用'
            },
            {
                id: 4,
                category: 'property',
                billDate: '2023年9月',
                amount: 500,
                paid: false,
                description: '上月物业管理费用'
            }
        ],
        filteredBills: []//过滤后的当前分类账单
    },

    async onLoad() {
        //这里的1应该登录后获取 通过glbalData
        let userId = getApp().globalData.userInfo?.userId||1
        let data = await request.get("bills/user/" + userId)
        //这里数据转换 因为有些字段和前端定义的不一样 统一为前端标准格式
        data = data.map(item => ({
            ...item,
            category: item.catagory,
            billDate: util.formatDate(item.billtime) // 新增字段
        }));


        this.setData({
            bills: data,
            filteredBills: data.filter(bill => bill.category === this.data.currentCategory)
        });
    },


    //分类切换函数
    switchCategory(e) {
        const category = e.currentTarget.dataset.category;
        this.setData({
            currentCategory: category,
            filteredBills: this.filterBills(category)
        });
    },

    //账单过滤函数
    filterBills(category) {
        return this.data.bills.filter(bill => bill.category === category);
    }
});